//用来群控手机的程序
//主要用于FB的操作，或许后期会扩展到控制wa  wechat之类的更多


const AndroidBot = require('AndroidBot');//引用AndroidBot模块

//如何引入一个js文件 
const test = require('./tamer/test');
const check_action   = require('./tamer/check_action');
const send_device_id = require('./tamer/send_device_id');
const start_up_app   = require('./tamer/start_up_app');

 

//注册主函数，安卓端连接脚本会自动调用androidMain，并传递AndroidBot对象。设置服务端监听端口，手机端默认连接端口16678
AndroidBot.registerMain(androidMain, 16678);

/**用作代码提示，androidMain函数会被多次调用，注意使用全局变量
* @param {AndroidBot} androidBot
*/
async function androidMain(androidBot){
    
 

    //设置隐式等待,获取当前设备
    await androidBot.setImplicitTimeout(5000);


    //获取设备唯一标识符
    let device_uid = await androidBot.getAndroidId(); 
    console.log(device_uid);


    //用于记录最后一次执行的任务的id
    let _last_action_id = 0;


    //上传一次标识，看看是否有该设备记录
    let _send_device_id=send_device_id.send_device_id(androidBot,device_uid);
    if(_send_device_id.result == '')
    {
        console.log("设备标识上传成功");
    }
    

    //检查一次，是否有对应任务
    //1分钟运行一次run_action，去查看需要执行的操作
    console.log(device_uid+"启动机器人任务");
    interalFunc = setInterval(run_action, 6000);




    //判断是否运行了翻墙。没有的话，则翻墙
    // let nowapping  = await androidBot.appIsRunnig("com.crosserr.trojan");
    // let nowapp     = await androidBot.getActivity();
    // let nowpackage = await androidBot.getPackage();
    // let nowapp     = await androidBot.getActivity();
       let installapp     = await androidBot.getInstalledPackages();
       console.log(installapp);
    // console.log(nowpackage);
    // console.log(nowapp);
    // console.log(nowapping);

    // await androidBot.startApp("com.crosserr.trojan");
    //成功返回当前activity


    //检查收收手机安装的软件，并且把数据传递到线上系统
    //androidBot.getInstalledPackages();







function run_action()
{
    console.log("");
    console.log("");
    console.log(device_uid+"run_action每分钟循环检查任务");
    console.log("");

 

    //执行任务
    let _action=check_action.check_action(androidBot,device_uid).then(_action => {
        
        //把_action转换成数组
        _action = JSON.parse(_action);

        //记录一下当前获取到的任务id，如果因为时间问题，执行中，就不再执行

        //判断一下_action是否为null
        

       
        
        
        if((_action['id'] > 0) && (_last_action_id) !=_action['id'])
            {


                //记录一下当前获取到的任务id，如果因为时间问题，执行中，就不再执行
                _last_action_id = _action['id'];


                //不管如何，先返回桌面,成功则继续执行，不成功则重新执行，直到成功为止
                androidBot.home();
               
 





                //=======================
                //facebook执行的区域
                //=======================
                if(_action['plateform']=='facebook')
                {
                    console.log("facebook  任务:"+_action['action']);
                    
 

                        //启动程序，必须等待启动完成，才能进行一下步，所以这个启动要做在外层

                        //start_up_app.start_up_app(androidBot,'微信')执行完成之后，才继续执行后续的代码

                        start_up_app.start_up_app(androidBot,'Facebook').then(function(result){

                            //执行启动app
                            if(_action['action']=='startup')
                                {
                                    console.log("facebook启动成功");
                                    androidBot.showToast("facebook启动成功", 3000)
                                }
                            //点赞
                            if(_action['action']=='like')
                                {
                                    androidBot.showToast("点赞朋友圈", 3000)
                                }
                                //发帖
                            if(_action['action']=='post')
                                {
                                    androidBot.showToast("发一个贴，内容是："+_action['content'], 5000)
                                    
                                }  
                            //评论
                            if(_action['action']=='comment')
                            {
                                androidBot.showToast("评论一下"+_action['content'], 3000)
                            }
                            //浏览
                            if(_action['action']=='browse')
                            {
                                androidBot.showToast("浏览一下内容"+_action['content'], 3000)

                            }
                            //关注
                            if(_action['action']=='follow')
                            {
                                androidBot.showToast("加好友"+_action['content'], 3000)
                                
                            }
 

                            })
        
                }






                //=======================
                //微信代码执行的区域
                //=======================
                else if(_action['plateform']=='wechat')
                    {
                        console.log("开始执行微信任务:"+_action['action']);


                        //启动程序，必须等待启动完成，才能进行一下步，所以这个启动要做在外层

                        //start_up_app.start_up_app(androidBot,'微信')执行完成之后，才继续执行后续的代码

                        start_up_app.start_up_app(androidBot,'微信').then(function(result){

                            //执行启动app
                            if(_action['action']=='startup')
                                {
                                    console.log("微信启动成功");
                                    androidBot.showToast("微信启动成功", 3000)
                                }
                            //点赞
                            if(_action['action']=='like')
                                {
                                    androidBot.showToast("点赞朋友圈", 3000)
                                }
                                //发帖
                            if(_action['action']=='post')
                                {
                                    androidBot.showToast("发一个朋友圈", 3000)
                                    
                                }  
                            //评论
                            if(_action['action']=='comment')
                            {
                                androidBot.showToast("评论朋友圈", 3000)
                            }
                            //浏览
                            if(_action['action']=='browse')
                            {
                                androidBot.showToast("浏览朋友圈", 3000)

                            }
                            //关注
                            if(_action['action']=='follow')
                            {
                                androidBot.showToast("加好友", 3000)
                                
                            }
 

                            })
    
            
                    }






                //=======================
                //小红书代码执行的区域
                //=======================
                else if(_action['plateform']=='xiaohongshu')
                {
                    console.log("小红书任务执行:"+_action['action']);

                    //执行启动app
                    if(_action['action']=='startup')
                    {
                        start_up_app.start_up_app(androidBot,'小红书');
                    }
                    //点赞

                    //发帖

                    //评论

                    //浏览

                    //关注
                }





                 //=======================
                //这是whatsapp执行的区域
                //=======================
                else if(_action['plateform']=='whatsapp')
                {
                    //代码在这里走
        
                }
                //=======================
                //instagram执行的区域
                //=======================
                else if(_action['plateform']=='instagram')
                {
                    //代码在这里走
        
                }
                else if(_action['plateform']=='twitter')
                {
                    //代码在这里走
        
                }
                else if(_action['plateform']=='tiktok')
                {
                    //代码在这里走
        
                }
                else if(_action['plateform']=='QQ')
                {
        
                }
                else
                {
                    console.log("没有找到对应的平台");
                }
                
                //根据系统对应给予的任务，去执行
                // test.test();
            }
            else
            {
                console.log("当前时间段没有可执行的任务");   //没有任务，则执行其他任务
                if(_last_action_id ==_action['id'])
                    {
                        console.log("因为还是在执行上一个任务，等待下一分钟再执行");

                    }
            }
    })
    .catch(error => {
        console.error("发生错误:", error);
    });; 
    
     

    

}

 
 



 



//========================================
//========================================
//下面这个是大程序的括号 
}
//上面这个是大程序的括号